In a computer environment where two or more computers are connected in a Local Area Network (LAN) arrangement, the computers may operate in accordance with a Dynamic Host Configuration Protocol (DHCP). A typical computer includes a host computer with an operating system (OS) stack and driver, and a LAN controller to communicate to other computers on the LAN. Communication is controlled by the OS stack and driver. The host computer stack and driver maintain the Internet Protocol (IP) address. Typically the LAN controller is not aware of the IP address, but rather the LAN controller may be aware of and looks for the Medium Access Control (MAC) address. The LAN controller may include an integrated Central Processing Unit (CPU) manageability entity that communicates to the network through the same LAN connection as the host computer. The manageability entity is addressable because it must be accessible from other network computers outside of the host computer. In one setup, if the manageability entity has its own IP address, it must have its own MAC address. In another setup, the manageability entity may use the same MAC address as the host computer where it shares the IP address of the host computer (e.g., in a DHCP environment). In a non-DHCP environment, with the same MAC address, the host computer and the manageability entity each can have its own IP address. In a DHCP enabled environment a network device, such as a LAN controller, may synchronize its usage of IP addresses with that used by a host OS. In other words, the network device may use the same IP address when the host OS is up and running and retain a DHCP address when the host OS is inoperable or malfunctioning. Some network computer applications provide two or more computers that share a LAN interface and are expected to share one IP address. The computers may have to share one IP address network IP address allocation may be limited (e.g., IPv4) and because it is likely that the computers may be accessed using one IP address or using the same network name as though they were a single computer.
In DHCP applications, the two or more computers may work together or separately, so that when one computer is shut down, hanged, or in standby, the other one is still functional and may be accessed over a network. If the IP address is leased from the network using a standard DHCP, then only one of the two or more computers may negotiate for the single IP address and run the protocol against the DHCP server. If the computer goes into shutdown mode, is hanged or becomes standby, then the other computer maintains the lease on behalf of both of them.
When a DHCP server allocates IP addresses based on different DHCP parameter options that are provided by a DHCP client computer, the computers that share the same IP address lease must appear to the DHCP server as a single entity. An example of such system is a Network Interface Chip (NIC) that serves a host OS with an OS driver that includes an embedded manageability computer to operate and communicate to the LAN while the host system is running as well as when the host computer and its OS are in shutdown, hanged or standby mode, or is shutdown. The embedded manageability computer must be accessed regardless of the state of the host OS, so that it can be reached even if the host OS is not capable of extending the DHCP lease.
Conventional network implementations may use different Internet Protocol (IP) addresses such that a host OS has its own IP address while the embedded processor has another address by either having a different Medium Access Control (MAC) address or by using a static IP address. When a dynamic IP address is used in conventional implementations, the embedded manageability computer firmware has its own MAC address and it runs its DHCP client separately (not synchronized) than the one at the host OS. With conventional configurations one machine may consume more than one IP address and host name which makes it harder to deploy in an Enterprise Network (e.g., IPv4).
In a DHCP environment, a network device also must resist Denial of Service (DoS) attacks carried by malicious local software taking advantage of any IP sharing attribute. For example, a rogue DHCP client that continuously releases and acquires a DHCP address. The network device uses hardware (HW) filters maintained in the LAN controller to intercept inbound and outbound DHCP related traffic from and to the host computer. Alternatively, the LAN driver may perform the filtering and notify the network device about various DHCP events in place of the HW filters.
In DHCP applications, network devices may have passive and active modes of operations. For example, when the host is not present (e.g., disconnected) or has no network functionality the network device actively initiates DHCP requests to acquire an IP address from a DHCP server. When the OS is up and running the device tracks the DHCP messages going between the OS and the remote DHCP server to identify the IP address provided to the OS. In addition the device must maintain the state of the DHCP protocol to identify erroneous situations or a DHCP “Release” message sent by the OS after which the device becomes active.